using System.ComponentModel;
using System.Drawing.Design;
using System.IO;
using System.Windows.Forms.Design;
using Styx;
using Styx.Common;
using Styx.Helpers;
using DefaultValue = Styx.Helpers.DefaultValueAttribute;

namespace ProwlTest
{
	public class ProwlTestSettings : Settings
	{
		private static ProwlTestSettings _instance;
		
		public ProwlTestSettings() 
			: base(Path.Combine(Path.Combine(Utilities.AssemblyDirectory, "Settings"), string.Format("ProwlTestSettings.xml")))
		{
			
		}
		
		public static ProwlTestSettings Instance { get { return _instance ?? (_instance = new ProwlTestSettings()); } }
		
		[Setting]
		[@DefaultValue(@"")]
		[Category("API KEY")]
		[DisplayName("Prowl API Key")]
		[Description("Prowl API Key")]
		public string prowlAPIKey { get; set; }

        [Setting]
        [@DefaultValue(false)]
        [Category("Triggers")]
        [DisplayName("Level")]
        [Description("Send Message when Character levels")]
        public bool level { get; set; }

        [Setting]
        [@DefaultValue(false)]
        [Category("Triggers")]
        [DisplayName("Items")]
        [Description("Send Message reciveing a new Item")]
        public bool items { get; set; }

        [Setting]
        [@DefaultValue(WoWItemQuality.Rare)]
        [Category("Triggers")]
        [DisplayName("Item Quality")]
        [Description("Minimum Item Quality for Notification")]
        public WoWItemQuality quality { get; set; }
        
        
        /*[Setting]
        [@DefaultValue(0)]
        [Category("Triggers")]
        [DisplayName("Item level min")]
        [Description("Minimum ilvl for items")]
        public int itemLevel { get; set; }*/

        [Setting]
        [@DefaultValue(false)]
        [Category("Triggers")]
        [DisplayName("Achivements")]
        [Description("Send Message getting a new Achivement")]
        public bool achive { get; set; }

	}
}